package cz.uvn.orthopedy.client;

import java.util.Date;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

import cz.uvn.orthopedy.client.entity.Doctor;
import cz.uvn.orthopedy.client.entity.Hall;
import cz.uvn.orthopedy.client.entity.Insurance;
import cz.uvn.orthopedy.client.entity.JournalEntry;
import cz.uvn.orthopedy.client.entity.Patient;
import cz.uvn.orthopedy.client.entity.ScheduleEntry;

@RemoteServiceRelativePath("journal")
public interface JournalService extends RemoteService {

	public void initSchedule(ScheduleEntry[] entries);
	public ScheduleEntry[] getScheduleEntries();
	public ScheduleEntry[] getSchedule(int day);
	public void createScheduleEntry(ScheduleEntry entry);
	public void editScheduleEntry(ScheduleEntry entry);
	public void deleteScheduleEntry(ScheduleEntry entry);
	
	public JournalEntry[] getEntries(Date date);
	public void createEntry(JournalEntry entry);
	public void editEntry(JournalEntry entry);
	public void deleteEntry(JournalEntry entry);

	public Hall[] getHalls();
	public void createHall(Hall hall);
	public void editHall(Hall hall);
	public void deleteHall(Hall hall);

	public Insurance[] getInsurances();
	public void createInsurance(Insurance insurance);
	public void editInsurance(Insurance insurance);
	public void deleteInsurance(Insurance insurance);

	public Doctor[] getDoctors();
	public void createDoctor(Doctor doctor);
	public void editDoctor(Doctor doctor);
	public void deleteDoctor(Doctor doctor);

	public Patient[] getPatients();
	public Long createPatient(Patient patient);
	public void editPatient(Patient patient);
	public void deletePatient(Patient patient);
	
}
